package com.dffl.es.esstudy.service;


import com.dffl.es.esstudy.page.Page;

import java.util.List;

/**
 * @author liwensihan
 */
public interface BaseSearchService<T> {

    /**
     * 搜 索
     * @param keyword
     * @param clazz
     * @return
     */
    List<T> query(String keyword, Class<T> clazz);

    /**
     * 搜索高亮显示
     * @param keyword       关键字
     * @param fieldNames    搜索的字段
     * @return
     */
    List<T> queryHit(String keyword, Class<T> clazz, String fieldNames);

    /**
     * 搜索高亮显示，返回分页
     * @param pageNo        当前页
     * @param pageSize      每页显示的总条数
     * @param keyword       关键字
     * @param fieldNames    搜索的字段
     * @return
     */
    Page<T> queryHitByPage(int pageNo, int pageSize, String keyword, Class<T> clazz, String fieldNames);

    /**
     * 删除索引库
     * @param indexName
     * @return
     */
    void deleteIndex(String indexName);
}
